package com.liezh.visitor.property;

import com.sun.istack.internal.Nullable;

/**
 * 简化模仿spring的BeanDefinition，
 * 简单使用访问者模式，访问配置文件
 * https://blog.csdn.net/hhy107107/article/details/107892386?utm_term=spring%E8%AE%BF%E9%97%AE%E8%80%85%E6%A8%A1%E5%BC%8F&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-107892386&spm=3001.4430
 * @author liezh
 * @date 2021-10-28
 */
public interface BeanDefinition<T> {

    String getParentName();

    void setDependsOn(@Nullable String... var1);

    @Nullable
    String[] getDependsOn();

    T getPropertyValue();

    void setPropertyValue(@Nullable T value);

    String getPropertyKey();

    void setPropertyKey(String key);
}
